The present invention relates to a transmission device, encoding device, and decoding device, and in particular relates to a transmission device, encoding device, and decoding device in a communication system in which dummy bits are added to information and encoding is subjected to the information to which the dummy bits are added, then the dummy bits are deleted from the results of the encoding to generate a systematic code and the systematic code is transmitted, and on the receiving side maximum-likelihood values for dummy bits are inserted and decoding is performed.
As shown in FIG. 35, a code is called a systematic code when, upon creating an N-bit code 12 by encoding information bits I1 comprising K bits, K bits among the code comprise the original information; the remaining M (=N−K) bits are called parity bits. Turbocodes are one example of systematic codes.
As the general format of bits, an information alphabet is considered. One alphabet takes as values q types of symbols {a0, a1, a2, . . . , aq-1}; bit is a special case of alphabet in which q=2 and a0=0, a1=1.
On the transmitting side, if a K×N generator matrix,G=(gij); i=0, . . . , K−1; j=0, . . . , N−1
is used with K information alphabet elements u=(u0, u1, . . . , uK-1) in the following equation,x=uG
to generate a code alphabet x consisted of N code alphabet elements x0, x1, . . . , xN-1 (x=(x0, x1, . . . , XN-1)), then this code alphabet x is a block code, and the information alphabet elements u are block-encoded.
On the receiving side, the information alphabet elements u are estimated from the data received for the block code (code vector)x. To this end, the following parity check equation for x is used:xHT=0
Here, H=(hij); i=0, . . . , M−1; j=0, . . . , N−1, is a parity check matrix, and HT is the transpose of H (with the rows and columns interchanged). From the above two equations, H and G satisfy the following relation.GHT=0
From this, if either H or G is given, then the encoding rules are uniquely determined.
FIG. 36 shows the configuration of a communication system in which block encoding is performed in the transmitter and decoding is performed in the receiver; the transmitter 1 comprises an encoding portion 1a, which encodes information u of K bits to generate an N-bit block code x, and a modulation portion 1b which modulates and transmits the block code. The receiver 2 comprises a demodulation portion 2a, which demodulates the signal received via a transmission path 3, and a decoding portion 2b, which decodes the N bits of received information to obtain the original K bits of transmitted information.
The encoding portion 1a comprises a parity generator 1c, which generates M (=N−K) parity bits p, and a P/S conversion portion 1d, which combines the K bits of information u and M parity bits p and outputs N (=K+M) block code elements x. As the code of the encoding portion 1a, for example, a turbocode can be adopted. The decoding portion 2b comprises a decoder 2c, which performs error detection and correction processing of the received likelihood data y and performs decoding to restore the original transmitted K bits of information and outputs estimation information. The block code x transmitted from the transmitter 1 is affected by the transmission path 3, and so is not input to the decoder 2c in the form transmitted, but is input to the decoder 2c as likelihood data. The likelihood data comprises reliabilities as to whether a code bit is 0 or 1, and signs (indicating “0” if +1 and “1” if −1). The decoder 2c performs stipulated decoding processing based on the likelihood data for each signed bit, to estimate the information bits u. In the case of a turbocode, the decoder 2c performs maximum a posteriori probability (MAP) decoding.
FIG. 37 shows the configuration of a turbo encoding portion 1a; FIG. 38 shows the configuration of a turbo decoding portion 2b. A turbo encoding portion is a systematic encoder comprising a number of element encoders and an interleaver; by adopting MAP decoding, decoding result errors can be reduced by increasing the number of decoding repetitions.
FIG. 37 is one such example; in this encoder, two element encoders are arranged in parallel with one interleaver therebetween. Here u=[u0, u1, u2, u3, . . . , uK-1] is the information data for transmission, of length K; xa, xb, xc are encoded data resulting from encoding of the information data u by the turbo encoder 1a; ya, yb, yc are received signals, resulting from propagation of the encoded data xa, xb, xc over the communication path 3, and are affected by noise and fading; and u′ is the result of decoding of the received data ya, yb, yc by the turbo decoder 2b. In the turbo encoder 1a, the encoded data xa is the information data u itself; the encoded data xb is data resulting from convolution encoding of the information data u by a first element encoder ENC1; and the encoded data xc is data resulting from interleaving (π) of the information data u and convolution encoding by a second element encoder ENC2. That is, the turbo encoder performs systematic encoding using two convolutions; xa is the information data, and xb and xc are parity data. The P/S conversion portion 1d converts the encoded data xa, xb, xc into a series and outputs the result.
In the turbo decoder 2b of FIG. 38, the first element decoder DEC1 performs decoding using ya and yb among the received signals ya, yb, yc. The first element decoder DEC1 is a soft decision-output element decoder, which outputs likelihoods of decoding results. Next, the second element decoder DEC2 similarly performs decoding using yc and the likelihoods output from the first element decoder DEC1. The second element decoder DEC2 is also a soft decision-output element decoder, which outputs likelihoods of decoding results. In this case, yc is the received signal corresponding to xc, which results from interleaving and encoding the original data u; hence likelihoods output from the first element decoder DEC1 are interleaved (π) before input to the second element decoder DEC2. Likelihoods output from the second element decoder DEC2 are deinterleaved (π−1), and are then input to the first element decoder DEC1 as feedback. The “0” and “1” hard decision results of the deinterleaving results of the second element decoder DEC2 are taken to be the turbo decoding results (decoded data) u′. Thereafter, by repeating the above decoding operation a prescribed number of times, the error rate of the decoding result u′ can be reduced. MAP element decoders can be used as the first and second element decoders DEC1, DEC2 in the turbo decoder.
A 3GPP W-CDMA mobile communication system may be considered as a concrete form of the communication system of FIG. 36. FIG. 39 shows the configuration of a 3GPP W-CDMA mobile communication system; the wireless base stations are transmitters of FIG. 36, and the mobile station is a receiver. In FIG. 39, the mobile communication system comprises a core network 11, wireless base station control devices (RNC, radio network controllers) 12, 13, demultiplexing devices 14, 15, wireless base stations (Node B) 161 to 165, and a mobile station (UE, user equipment) 17.
The core network 11 is a network which performs routing within the mobile communication system, and can for example be configured as an ATM switching network, packet-switched network, router network, or similar. The core network 11 is also connected to other public networks (PSTN), and the mobile station 7 can also communicate with fixed telephone sets and similar.
The wireless base station control devices (RNCs) 12, 13 are positioned as higher-level devices relative to the wireless base stations 161 to 165, and are provided with functions for controlling these wireless base stations 161 to 165 (ex. Function for managing wireless resources used, and similar). The demultiplexing devices 14, 15 are provided between the RNCs and the wireless base stations, and separate signals addressed to each of the wireless base stations received from the RNCs 12, 13, for output to the respective wireless base stations, as well as executing control to multiplex signals from the wireless base stations and pass the signals to the RNCs.
Wireless resources of the wireless base stations 161 to 163 are managed by the RNC 12, and wireless resources of the wireless base stations 164 and 165 are managed by the RNC 13, while the base stations perform wireless communication with the mobile station 17. When the mobile station 17 exists within the wireless area of the wireless base stations 16i, a wireless connection with the wireless base stations 16i is established, and communication with other communication devices is performed via the core network 11.
The above is an explanation of a general mobile communication system; in order to enable high-speed downlink-direction data transmission (packet transmission), a HSDPA (High Speed Downlink Packet Access) method is adopted.
HSDPA employs an adaptive encoding modulation method, and is characterized by the fact that the number of bits in the transport block TrBL, number of multiplex codes, and modulation method (QPSK modulation, 16QAM modulation) are switched adaptively according to the wireless environment between the wireless base station and the mobile station.
Further, HSDPA adopts an H-ARQ (Hybrid Automatic Repeat reQuest) method. In H-ARQ, when an error is detected by the mobile station in data received from a wireless base station, resending is requested (a NACK signal is sent) to the wireless base station. Upon receiving this resend request, the wireless base station resends the data, and so the mobile station uses both the data already received and the resent received data to perform error correction decoding. In this way, in H-ARQ previously received data is effectively utilized even when there are errors, so that the gain of error-correction decoding is increased, and consequently the number of resends can be kept small. When an ACK signal is received from a mobile station, there is no longer a need for resending since data transmission has been successful, and so the next data is transmitted.
The main wireless channels used in HSDPA are, as shown in FIG. 40, (1) HS-SCCH (High Speed-Shared Control Channel), (2) HS-PDSCH (High Speed-Physical Downlink Shared Channel), and (3) HS-DPCCH (High Speed-Dedicated Physical Control Channel).
HS-SCCH and HS-PDSCH are shared channels in the downlink direction, that is, from wireless base stations to mobile stations; HS-PDSCH is a shared channel which transmits packets in the downlink direction, while HS-SCCH is a control channel which transmits various parameters relating to data transmitted in HS-PDSCH. In other words, HS-SCCH is a channel used for notification of the transmission of data via HS-PDSCH; the various parameters are the destination mobile station information, transmission bitrate information, modulation method information, number of spreading codes allocated (number of codes), rate matching patterns for the transmission data, and other information.
HS-DPCCH is a dedicated control channel in the uplink direction, that is, from mobile stations to wireless base stations, and is used when transmitting, from mobile stations to wireless base stations, the reception results (ACK signals, NACK signals) for data received via HS-PDSCH. HS-DPCCH is also used to transmit CQI (Channel Quality Indicator) values, based on the reception quality of signals received from wireless base stations, to wireless base stations. By receiving CQI values, the wireless base stations can judge the quality of downlink wireless environments, and if an environment is satisfactory, can switch to a modulation method enabling faster data transmission, but if the environment is poor, can switch to a modulation method for slower data transmission, and by this means can perform adaptive modulation. In actuality, a base station has a CQI table which defines formats with different transmission speeds according to CQI values of 1 to 30; parameters (transmission rate, modulation method, number of multiplexing codes, and similar) are determined according to the CQI value by making a reference to the CQI table, and are notified mobile stations by HS-SCCH, while in addition data is transmitted to mobile stations using HS-PDSCH based on the parameters.
In the above-described 3GPP W-CDMA mobile communication system, the transmitter 1 and the receiver 2 in FIG. 36 are a wireless base station and a mobile station (mobile terminal) respectively.
FIG. 41 shows the data transmission processing block of a 3GPP W-CDMA wireless base station, and FIG. 42 shows the data format used in explanation of transmission processing (see 3GPP, TS25.212v5.9.0). An example is shown for which the number of code blocks is 2, both 1stRM 25b and 2 nsRM 25c in the physical layer H-ARQ function portion 25 are puncturing, and the number of physical channel codes is 2.
(1) Information bits are passed from the upper layer to the wireless base station as a transport block (TB).
(2) The CRC addition portion 21 performs encoding for detection of errors by CRC (Cyclic Redundancy Check) in transport block (TB) units. That is, based on a transport block TB, a specified number of CRC parity bits are generated, and these are added after the transport block TB itself. (data set D1)
(3) Then, the bit scrambling portion 22 performs bit scrambling of the data set D1. In bit scrambling, bitwise addition of a pseudorandom bit pattern B=(b0, . . . , b(K−1)), generated by a stipulated generation method and of the same size K as the data set D1, and the data set D1 is performed (hereafter, arithmetic operations on bits are always taken to mean mod2 operations on {0,1}). (data set D2)
(4) The code block segmentation portion 23 performs code block segmentation of the data set D2. That is, if the size K of the data set D2 exceeds a stipulated size Z, the data set D2 is segmented to obtain a plurality of code blocks all of the same data size. If the data cannot be divided evenly by the number of code blocks C, filler bits are added to adjust the size. Filler bits are of value 0, and are added to the beginning of the original data. In turbo encoding, 40≦K≦5114, so that Z=5114. (data set D3)
(5) The channel coding portion (encoding portion) 24 performs encoding of each of the code blocks of the data set D3. Encoding uses a turbocode at the stipulated code rate R=⅓. (data set D4)
(6) The physical layer HARQ function portion 25 performs H-ARQ processing (H-ARQ functionality) for the data set D5. The bit segmentation portion 25a of the physical layer HARQ function portion 25 divides each of the code blocks output from the encoding portion 24 into systematic bits, parity bits 1, and parity bits 2, and serially concatenates bits of the same type. (data set D5)
(7) The first rate matching portion 25b of the physical HARQ function portion 25 checks whether the total bit length of data set D5 is larger than the stipulated buffer size NIR, and if larger, performs puncturing of the data set D5 such that the size becomes the NIR size, but if smaller than NIR, does nothing. Puncturing is performed for parity 1 and parity 2, but is not performed for systematic bits. (data set D61)
Next, the second rate matching portion 25c of the physical layer HARQ function portion 25 performs rate matching (repetition or puncturing) of the data set D61 according to specified H-ARQ transmission parameters. H-ARQ transmission parameters may include: modulation method (QPSK or 16QAM), physical channel HS-PDSCH total bit size Ndata, H-ARQ transmission pattern RV and so on.
The total bit size Ndata is given byNdata=number of codes×physical channel size
and the physical channel size is 960 for QPSK and 1920 for 16QAM. When the size of the data set D61 is smaller than Ndata, the second rate matching portion 25c performs repetition such that the size of the data set D61 is equal to Ndata; when larger than Ndata, puncturing is performed. (data set D62)
In repetition, a specified number of bits are selected from among the code bits, a copy is created and is added; on the receiving side, diversity combining of the same data bits is performed so as to improve the SN. In puncturing, a specified number of bits are selected from among the code bits, and these bits are deleted; on the receiving side, fixed likelihood maximum values are added as data for the deleted bit positions.
Of the above parameters, the receiver (terminal) is notified of the modulation method, number of codes, RV and similar via the separate shared channel HS-SCCH.
(8) The bit collection portion 25d of the physical layer HARQ function portion 25 performs bit collection of the data set D62, and outputs collection results. Then, the bit collection portion 25d performs substitution of the data order so as to map systematic bits and parity bits to one modulation signal symbol.
This substitution processing is one type of interleaving. That is, with the number of bits mapped to one modulation signal symbol as the number of columns Ncol, and the number of rows Nrow=Ndata/Ncol, the Ndata data bits are arranged in a matrix. In the case of QPSK, Ncol=2; for 16QAM, Ncol=4. In the above substitution processing, the systematic bit placement area and parity bit placement area are divided such that systematic bits are in the upper rows. For example, in the case of 16QAM, in this substitution processing systematic bits are preferentially mapped to the first two bits of the four bits. This is because 16QAM mapping stipulates that reliability of the likelihood for the leading two bits be high. The bits in each column of the matrix form one modulation signal symbol. (data set D7)
(9) The physical channel segmentation portion 26 performs physical channel segmentation of the data set D7. The number of divisions is the above number of codes. The data set D7 is serially segmented from the leading bit into this number of divisions. (data set D8)
(10) The HS-PDSCH interleaving portion 27 performs H-ARQ interleaving of the data set D8. That is, the interleaving portion 27 performs interleaving of the physical channels using a stipulated interleave pattern. (data set D9)
(11) The constellation rearrangement portion 28 performs constellation rearrangement of the data set D9 when the modulation method is 16QAM. However, when the modulation method is QPSK, no action is taken. In symbol rearrangement, bit substitution and inversion are performed for each symbol in four-bit units according to the specified parameters. (data set D10)
(12) The physical channel mapping portion 29 performs physical channel mapping of the data set D10, and passes the physical channel data of data set D10, unmodified, to the modulation portion.
As the encoding/decoding method for the systematic code, in order to improve the error rate characteristic of the decoded results, technology has been proposed in which, on the transmitting side, dummy bits are inserted into information bits and encoding is performed, then the dummy bits are deleted from the code thus obtained to generate a systematic code, and the systematic code is transmitted (see PCT/JP 2005/367 and Tokuhyo No. 2004-531972 (JP2004-531972), paragraph 0104). FIG. 43 explains the encoding/decoding method proposed in PCT/JP 2005/367.
Into the K information bits 100 are inserted K0 dummy bits 200 in a prescribed pattern, to obtain K1 (=K+K0) bits of first information. The dummy bits are not limited to an all-“1”s pattern or to a repeated alternation of “1”s and “0”s, as in “1010 . . . 10”, and any prescribed pattern can be used. The dummy bits 200 can be added before or behind the information bits 100, or can be inserted uniformly among the information bits. In the figure, the dummy bits 200 are inserted after the information bits 100.
Then, the information bits of the K1 bits are used to create M parity bits 300, which are added to the K1 bits to generate N1 (=K1+M) bits of information 400 (systematic encoding such as turbo encoding). Thereafter, the K0 dummy bits 200 are deleted from this information to generate N (=K+M) bits of a systematic code 500; this systematic code 500 is transmitted from the transmitter to the receiver, and decoding is performed at the receiver. The code rate is R=K/(K+M).
The decoding portion of the receiver inserts the dummy bits 200 deleted on the transmitting side into the demodulated systematic code 500 as maximum probabilities (reliability ∞), and then performs turbo decoding and outputs information bits 100.
FIG. 44 shows the configuration of a communication system which realizes the encoding/decoding method of FIG. 43; portions which are the same as in FIG. 36 are assigned the same symbols. The encoding portion 1a of the transmitter 1 applies forward error correction (FEC) to the information bits u, in order to perform transmission with high reliability, the modulation portion 1b modulates the resulting code bits x, and the modulated signals are transmitted to the receiver 2 via the wireless propagation path 3. The demodulation portion 2a of the receiver 2 demodulates the received data, and inputs to the decoding portion 2b likelihood data y comprising reliabilities as to whether code bits are “0” or “1” and symbols (+1→0, −1→1). The decoding portion 2b performs stipulated decoding processing based on the likelihood data for each code bit, and estimates the information bits u.
In the encoding portion 1a of the transmitter 1, the dummy bit insertion portion 1e inserts K0 randomly selected bits 0, 1 as dummy bits at randomly selected positions in the K information bits u, and outputs K1=K+K0 information bits(u,a)=(u0, . . . , uK-1, a0, . . . , aK0-1)
The encoder if performs turbo encoding using the K1 information bits with the dummy bits inserted, and outputs N1 (=K+K0+M) information bits x1(u,a,p). Here p are M parity bits,p=(p0, . . . , pM-1)
The dummy bit deletion portion 1g deletes the K0 dummy bits a from the N1 information bits x1(u,a,p) output from the encoder if, to generate the N information bitsx=(u,p)=(x0,x1, . . . , xN-1)
The modulation portion 1b modulates the information bits x and transmits the result.
The demodulation portion 2a of the receiver 20 receives the data, which has passed through the propagation path 3 and had noise added, performs demodulation, and inputs to the decoding portion 2b the likelihood data for each code bity=(y0, y1, . . . , yN-1)
The dummy bit likelihood insertion portion 2d of the decoding portion 2b inserts likelihood data a with maximum likelihood (reliability m) at the positions at which dummy bits were inserted at the transmitter, and inputs the result, as N1 (=N+K0) likelihood data items, to the decoder 2e. The decoder 2e performs turbo decoding of the N1 likelihood data items (y, a), and outputs information bit estimation results.
In this way, by appropriately inserting and deleting dummy bits on the transmitting and on the receiving sides, decoding errors can be decreased.
When the above method is applied to a wireless base station comprising the transmission processing portion shown in FIG. 41, exactly how dummy bits are inserted and deleted poses a problem.
In particular, the encoding device must be configured taking into consideration the dummy bit insertion/deletion positions, whether to make the code rate fixed or variable, whether to segment code blocks, the size after dummy bit insertion, and other matters.
Further, dummy bits must be inserted into information bits so as to effectively reduce decoding errors.
Further, upon encoding, when for example a turbocode is used for encoding with interleaving and deinterleaving, dummy bits must be inserted into information bits such that decoding errors are effectively reduced with interleaving and deinterleaving taken into account.